জাভাস্ক্রিপ্টে ক্লাস স্ট্যাটিক (Static) মেথড এবং প্রপার্টি ব্যবহার করা হয় এমন ফাংশন বা প্রপার্টি সংজ্ঞায়িত করতে যা কেবল ক্লাস নিজেই কল করতে পারে, কোনো ক্লাসের ইনস্ট্যান্স (অবজেক্ট) থেকে নয়। স্ট্যাটিক মেথড এবং প্রপার্টি সাধারণত ক্লাসের অবজেক্ট-নিরপেক্ষ কার্যকলাপ বা সহায়ক ফাংশন হিসেবে ব্যবহৃত হয়।
স্ট্যাটিক মেথড সাধারণত ক্লাসের সাথে সম্পর্কিত কার্যকলাপ সম্পাদন করে, তবে এগুলি ক্লাসের কোনো ইনস্ট্যান্সের সাথে সম্পর্কিত নয়। static
কিওয়ার্ড ব্যবহার করে এই মেথডগুলো সংজ্ঞায়িত করা হয়। স্ট্যাটিক মেথড ক্লাসের ইনস্ট্যান্সের মাধ্যমে কল করা যায় না, সেগুলি শুধুমাত্র ক্লাসের মাধ্যমে কল করা সম্ভব।
class MathOperations {
static add(a, b) {
return a + b;
}
static multiply(a, b) {
return a * b;
}
}
console.log(MathOperations.add(3, 4)); // আউটপুট: 7
console.log(MathOperations.multiply(3, 4)); // আউটপুট: 12
এখানে, add
এবং multiply
মেথড দুটি স্ট্যাটিক মেথড। এগুলি MathOperations
ক্লাস থেকে সরাসরি কল করা হচ্ছে, কোনো অবজেক্ট তৈরি না করেই।
this
কিওয়ার্ড ক্লাসের রেফারেন্সকে নির্দেশ করে, ইনস্ট্যান্সের রেফারেন্স নয়।স্ট্যাটিক প্রপার্টি হল এমন প্রপার্টি যা ক্লাসের ইনস্ট্যান্সের পরিবর্তে সরাসরি ক্লাসের সাথে সম্পর্কিত। static
কিওয়ার্ড ব্যবহার করে একটি প্রপার্টি নির্ধারণ করা হয় যা কেবল ক্লাসের মাধ্যমে অ্যাক্সেস করা যাবে।
class Counter {
static count = 0;
static increment() {
Counter.count++;
console.log(Counter.count);
}
}
Counter.increment(); // আউটপুট: 1
Counter.increment(); // আউটপুট: 2
এখানে, count
হল একটি স্ট্যাটিক প্রপার্টি যা Counter
ক্লাসের মাধ্যমে অ্যাক্সেস করা হচ্ছে। increment
মেথডটি ক্লাসের count
প্রপার্টি বাড়িয়ে দেয়।
স্ট্যাটিক মেথড এবং প্রপার্টি কোডের পুনঃব্যবহারযোগ্যতা বৃদ্ধি করতে সাহায্য করে, কারণ ক্লাসের ইনস্ট্যান্স ছাড়াই সরাসরি ক্লাসের মাধ্যমে কল করা সম্ভব হয়।
যখন একটি কার্যকলাপ বা ফাংশন কেবল ক্লাসের সাথে সম্পর্কিত এবং কোনো অবজেক্টের অবস্থার উপর নির্ভর করে না, তখন স্ট্যাটিক মেথড ব্যবহার করা উচিত। উদাহরণস্বরূপ, গণনা বা নির্দিষ্ট মান প্রক্রিয়া করা।
স্ট্যাটিক মেথড এবং প্রপার্টি ক্লাসের বাইরে থেকে অ্যাক্সেস করা সম্ভব নয়, তবে ক্লাসের ভিতরে এই ফিচারগুলির ব্যবহার রিচড এবং সুসংগঠিত ডেটা ম্যানিপুলেশন করতে সাহায্য করে।
this
কিওয়ার্ডস্ট্যাটিক মেথডে this
কিওয়ার্ডটি প্যারেন্ট ক্লাস বা ক্লাসের রেফারেন্সকে নির্দেশ করে, ইনস্ট্যান্সের রেফারেন্সকে নয়। এ কারণে, স্ট্যাটিক মেথডের মধ্যে this
ব্যবহার শুধুমাত্র ক্লাসের প্রপার্টি বা মেথড অ্যাক্সেস করতে কাজে লাগে, ইনস্ট্যান্সের প্রপার্টি অ্যাক্সেস করতে নয়।
class Car {
static wheels = 4;
static describe() {
console.log(`এই গাড়িতে ${this.wheels} চাকা আছে.`);
}
}
Car.describe(); // আউটপুট: এই গাড়িতে 4 চাকা আছে.
এখানে, describe
স্ট্যাটিক মেথডে this.wheels
ব্যবহার করা হয়েছে যা ক্লাসের স্ট্যাটিক প্রপার্টি wheels
কে নির্দেশ করে।
জাভাস্ক্রিপ্টের ক্লাস স্ট্যাটিক মেথড এবং প্রপার্টি ক্লাসের ইনস্ট্যান্সের বাইরে থেকে অ্যাক্সেসযোগ্য একটি শক্তিশালী বৈশিষ্ট্য। স্ট্যাটিক মেথড এবং প্রপার্টি কোড পুনঃব্যবহারযোগ্যতা বৃদ্ধি করে এবং অবজেক্ট-নিরপেক্ষ কার্যকলাপ সম্পাদন করতে সহায়ক। static
কিওয়ার্ডের মাধ্যমে এসব মেথড ও প্রপার্টি ঘোষণা করা হয় এবং এগুলি শুধুমাত্র ক্লাসের মাধ্যমে কল করা হয়, অবজেক্টের মাধ্যমে নয়। স্ট্যাটিক ফাংশন ব্যবহার করে ক্লাসের অভ্যন্তরীণ কাজকে আরও কার্যকরীভাবে পরিচালনা করা যায়।
this
ব্যবহার: স্ট্যাটিক মেথডে this
কেবল ক্লাসের রেফারেন্স নির্দেশ করে, তাই ইনস্ট্যান্স প্রপার্টি অ্যাক্সেস করতে পারবেন না।common.read_more